package org.jgs2007.onemall.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 优惠卷实体类
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Coupon implements Serializable {

    private Integer id;

    // 优惠卷名称
    private String name;

    // 优惠卷描述（一般描述优惠卷使用限制）
    private String desc;

    // 优惠卷数量
    private Integer total;

    // 优惠卷显示金额
    private Double discount;

    // 优惠卷最低使用金额
    private Double min;

    // 优惠卷领用限制
    private Short limit;

    // 优惠卷类型（通用卷、新人卷...）
    private String type;

    // 优惠卷状态(可用、已用)
    private String status;

    //优惠卷兑换码
    private String code;

    // 优惠卷有效期(天)
    private Integer days;

    // 使用开始时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    //使用结束时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    // 创建时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date addTime;

    //更新时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    // 逻辑删除(伪删除：如要使用需建一张表保存删除信息 )
    private Short deleted;

}
